<?php 
/**
 * Innehåller funktioner för att veta om någon är inloggad, för att logga ut, för att logga in.  
 */
class LoginHandler {
		
	//Sätter loggedIn till en privat variabel så att när jag ändrar den här uppe ändrar jag den på alla ställen den finns i min kod. 
	private $loggedIn = 'loggedIn';
	
	//Undersöker om användaren är inloggad returnerar true/false
	public function IsLoggedIn()
	{
		
		//Om sessionen inte har något namn returnera false annars true
		if (isset($sessionsvariabel)){
			return true;
		}
		return false;
	}	
	
	//Undersöker om det är rätt användare och lösenord. returnerar true/false
	public function DoLogin($name, $password)
	{
		switch ($name)
		{
		case ($name=="elin"):
		  if($password=="elin"){
		  	$_SESSION['$loggedIn']= true;
		  	return true;
		  }
		  break;
		case ($name=="daniel"):
		  if($password=="daniel"){
		  	$_SESSION['$loggedIn']= true;
		  	return true;
		  }
		  break;
	  	case ($name=="helena"):
	   	if($password=="helena"){
	   		$_SESSION['$loggedIn']= true;
		  	return true;
		  }
	   break;
		default:
		  return false;
		}
	}

	//Avbryter sessionen och loggar ut användaren.
	public function DoLogout()
	{		if (isset($_SESSION['$isloggedIn'])) {
				unset($_SESSION['$loggedIn']);
			}
	}
	
	public function Test (){
				
		$text = "";
		
		//Säkerhetsställer att vi är utloggade
		$this->DoLogout();
		
		//Testar om vi är inloggade
		if($this->IsLoggedIn()){
			$text .= "<p>FEL Du är inloggad (IsLoggedIn)</p>";
			return $text;
		}
		
		//Testar att logga in med fel uppgifter
		if($this->DoLogin("FELANV", "FELLÖS")){
			$text .= "<p>FEL du kan logga in med fel anv/lös (IsLoggedIn)</p>";
			return $text;
		}
		
		//Testar att logga in med rätt uppgifter
		if(!$this->DoLogin("elin", "elin")){
			$text .= "<p>FEL du kan inte logga in med rätt anv/lös (IsLoggedIn)</p>";
			return $text;
		}
		
		//Testar om vi är inloggade
		if(!$this->IsLoggedIn()){
			$text .= "<p>FEL Du är inte inloggad du borde vara det (IsLoggedIn)</p>";
			return $text;
		}
		
		//loggar ut
		$this->DoLogout();
		
		if($this->IsLoggedIn()){
			$text .= "<p>FEL Du är inloggad (IsLoggedIn)</p>";
			return $text;
		}
		
		//Testar att logga in med rätt anv. men fel lösenord.
		if($this->DoLogin("elin", "FELLÖSENORD")){
			$text .= "<p>FEL du kan logga in med rätt anv men fel lös (IsLoggedIn)</p>";
			return $text;
		}
		
		//unset($_GET); // Tömmer GET
		
	}
		
}

?>